!function(e, n) {
    "function" == typeof define && (define.amd || define.cmd) ? define(function() {
        return n(e)
    }) : n(e, !0)
}(this, function(e, n) {
    function i(n, i, t) {
        e.WeixinJSBridge ? WeixinJSBridge.invoke(n, o(i), function(e) {
            c(n, e, t)
        }) : u(n, t)
    }
    function t(n, i, t) {
        e.WeixinJSBridge ? WeixinJSBridge.on(n, function(e) {
            t && t.trigger && t.trigger(e),
            c(n, e, i)
        }) : t ? u(n, t) : u(n, i)
    }
    function o(e) {
        return e = e || {},
        e.appId = C.appId,
        e.verifyAppId = C.appId,
        e.verifySignType = "sha1",
        e.verifyTimestamp = C.timestamp + "",
        e.verifyNonceStr = C.nonceStr,
        e.verifySignature = C.signature,
        e
    }
    function r(e) {
        return {
            timeStamp: e.timestamp + "",
            nonceStr: e.nonceStr,
            package: e.package,
            paySign: e.paySign,
            signType: e.signType || "SHA1"
        }
    }
    function a(e) {
        return e.postalCode = e.addressPostalCode,
        delete e.addressPostalCode,
        e.provinceName = e.proviceFirstStageName,
        delete e.proviceFirstStageName,
        e.cityName = e.addressCitySecondStageName,
        delete e.addressCitySecondStageName,
        e.countryName = e.addressCountiesThirdStageName,
        delete e.addressCountiesThirdStageName,
        e.detailInfo = e.addressDetailInfo,
        delete e.addressDetailInfo,
        e
    }
    function c(e, n, i) {
        "openEnterpriseChat" == e && (n.errCode = n.err_code),
        delete n.err_code,
        delete n.err_desc,
        delete n.err_detail;
        var t = n.errMsg;
        t || (t = n.err_msg,
        delete n.err_msg,
        t = s(e, t),
        n.errMsg = t),
        (i = i || {})._complete && (i._complete(n),
        delete i._complete),
        t = n.errMsg || "",
        C.debug && !i.isInnerInvoke && alert(JSON.stringify(n));
        var o = t.indexOf(":");
        switch (t.substring(o + 1)) {
        case "ok":
            i.success && i.success(n);
            break;
        case "cancel":
            i.cancel && i.cancel(n);
            break;
        default:
            i.fail && i.fail(n)
        }
        i.complete && i.complete(n)
    }
    function s(e, n) {
        var i = e
          , t = v[i];
        t && (i = t);
        var o = "ok";
        if (n) {
            var r = n.indexOf(":");
            "confirm" == (o = n.substring(r + 1)) && (o = "ok"),
            "failed" == o && (o = "fail"),
            -1 != o.indexOf("failed_") && (o = o.substring(7)),
            -1 != o.indexOf("fail_") && (o = o.substring(5)),
            "access denied" != (o = (o = o.replace(/_/g, " ")).toLowerCase()) && "no permission to execute" != o || (o = "permission denied"),
            "config" == i && "function not exist" == o && (o = "ok"),
            "" == o && (o = "fail")
        }
        return n = i + ":" + o
    }
    function d(e) {
        if (e) {
            for (var n = 0, i = e.length; n < i; ++n) {
                var t = e[n]
                  , o = h[t];
                o && (e[n] = o)
            }
            return e
        }
    }
    function u(e, n) {
        if (!(!C.debug || n && n.isInnerInvoke)) {
            var i = v[e];
            i && (e = i),
            n && n._complete && delete n._complete,
            console.log('"' + e + '",', n || "")
        }
    }
    function l(e) {
        if (!(k || w || C.debug || x < "6.0.2" || V.systemType < 0)) {
            var n = new Image;
            V.appId = C.appId,
            V.initTime = A.initEndTime - A.initStartTime,
            V.preVerifyTime = A.preVerifyEndTime - A.preVerifyStartTime,
            N.getNetworkType({
                isInnerInvoke: !0,
                success: function(e) {
                    V.networkType = e.networkType;
                    var i = "https://open.weixin.qq.com/sdk/report?v=" + V.version + "&o=" + V.isPreVerifyOk + "&s=" + V.systemType + "&c=" + V.clientVersion + "&a=" + V.appId + "&n=" + V.networkType + "&i=" + V.initTime + "&p=" + V.preVerifyTime + "&u=" + V.url;
                    n.src = i
                }
            })
        }
    }
    function p() {
        return (new Date).getTime()
    }
    function f(n) {
        T && (e.WeixinJSBridge ? n() : S.addEventListener && S.addEventListener("WeixinJSBridgeReady", n, !1))
    }
    function m() {
        N.invoke || (N.invoke = function(n, i, t) {
            e.WeixinJSBridge && WeixinJSBridge.invoke(n, o(i), t)
        }
        ,
        N.on = function(n, i) {
            e.WeixinJSBridge && WeixinJSBridge.on(n, i)
        }
        )
    }
    function g(e) {
        if ("string" == typeof e && e.length > 0) {
            var n = e.split("?")[0]
              , i = e.split("?")[1];
            return n += ".html",
            void 0 !== i ? n + "?" + i : n
        }
    }
    if (!e.jWeixin) {
        var h = {
            config: "preVerifyJSAPI",
            onMenuShareTimeline: "menu:share:timeline",
            onMenuShareAppMessage: "menu:share:appmessage",
            onMenuShareQQ: "menu:share:qq",
            onMenuShareWeibo: "menu:share:weiboApp",
            onMenuShareQZone: "menu:share:QZone",
            previewImage: "imagePreview",
            getLocation: "geoLocation",
            openProductSpecificView: "openProductViewWithPid",
            addCard: "batchAddCard",
            openCard: "batchViewCard",
            chooseWXPay: "getBrandWCPayRequest",
            openEnterpriseRedPacket: "getRecevieBizHongBaoRequest",
            startSearchBeacons: "startMonitoringBeacons",
            stopSearchBeacons: "stopMonitoringBeacons",
            onSearchBeacons: "onBeaconsInRange",
            consumeAndShareCard: "consumedShareCard",
            openAddress: "editAddress"
        }
          , v = function() {
            var e = {};
            for (var n in h)
                e[h[n]] = n;
            return e
        }()
          , S = e.document
          , I = S.title
          , y = navigator.userAgent.toLowerCase()
          , _ = navigator.platform.toLowerCase()
          , k = !(!_.match("mac") && !_.match("win"))
          , w = -1 != y.indexOf("wxdebugger")
          , T = -1 != y.indexOf("micromessenger")
          , M = -1 != y.indexOf("android")
          , P = -1 != y.indexOf("iphone") || -1 != y.indexOf("ipad")
          , x = function() {
            var e = y.match(/micromessenger\/(\d+\.\d+\.\d+)/) || y.match(/micromessenger\/(\d+\.\d+)/);
            return e ? e[1] : ""
        }()
          , A = {
            initStartTime: p(),
            initEndTime: 0,
            preVerifyStartTime: 0,
            preVerifyEndTime: 0
        }
          , V = {
            version: 1,
            appId: "",
            initTime: 0,
            preVerifyTime: 0,
            networkType: "",
            isPreVerifyOk: 1,
            systemType: P ? 1 : M ? 2 : -1,
            clientVersion: x,
            url: encodeURIComponent(location.href)
        }
          , C = {}
          , L = {
            _completes: []
        }
          , B = {
            state: 0,
            data: {}
        };
        f(function() {
            A.initEndTime = p()
        });
        var O = !1
          , E = []
          , N = {
            config: function(e) {
                C = e,
                u("config", e);
                var n = !1 !== C.check;
                f(function() {
                    if (n)
                        i(h.config, {
                            verifyJsApiList: d(C.jsApiList)
                        }, function() {
                            L._complete = function(e) {
                                A.preVerifyEndTime = p(),
                                B.state = 1,
                                B.data = e
                            }
                            ,
                            L.success = function(e) {
                                V.isPreVerifyOk = 0
                            }
                            ,
                            L.fail = function(e) {
                                L._fail ? L._fail(e) : B.state = -1
                            }
                            ;
                            var e = L._completes;
                            return e.push(function() {
                                l()
                            }),
                            L.complete = function(n) {
                                for (var i = 0, t = e.length; i < t; ++i)
                                    e[i]();
                                L._completes = []
                            }
                            ,
                            L
                        }()),
                        A.preVerifyStartTime = p();
                    else {
                        B.state = 1;
                        for (var e = L._completes, t = 0, o = e.length; t < o; ++t)
                            e[t]();
                        L._completes = []
                    }
                }),
                m()
            },
            ready: function(e) {
                0 != B.state ? e() : (L._completes.push(e),
                !T && C.debug && e())
            },
            error: function(e) {
                x < "6.0.2" || (-1 == B.state ? e(B.data) : L._fail = e)
            },
            checkJsApi: function(e) {
                var n = function(e) {
                    var n = e.checkResult;
                    for (var i in n) {
                        var t = v[i];
                        t && (n[t] = n[i],
                        delete n[i])
                    }
                    return e
                };
                i("checkJsApi", {
                    jsApiList: d(e.jsApiList)
                }, (e._complete = function(e) {
                    if (M) {
                        var i = e.checkResult;
                        i && (e.checkResult = JSON.parse(i))
                    }
                    e = n(e)
                }
                ,
                e))
            },
            onMenuShareTimeline: function(e) {
                t(h.onMenuShareTimeline, {
                    complete: function() {
                        i("shareTimeline", {
                            title: e.title || I,
                            desc: e.title || I,
                            img_url: e.imgUrl || "",
                            link: e.link || location.href,
                            type: e.type || "link",
                            data_url: e.dataUrl || ""
                        }, e)
                    }
                }, e)
            },
            onMenuShareAppMessage: function(e) {
                t(h.onMenuShareAppMessage, {
                    complete: function(n) {
                        "favorite" === n.scene ? i("sendAppMessage", {
                            title: e.title || I,
                            desc: e.desc || "",
                            link: e.link || location.href,
                            img_url: e.imgUrl || "",
                            type: e.type || "link",
                            data_url: e.dataUrl || ""
                        }) : i("sendAppMessage", {
                            title: e.title || I,
                            desc: e.desc || "",
                            link: e.link || location.href,
                            img_url: e.imgUrl || "",
                            type: e.type || "link",
                            data_url: e.dataUrl || ""
                        }, e)
                    }
                }, e)
            },
            onMenuShareQQ: function(e) {
                t(h.onMenuShareQQ, {
                    complete: function() {
                        i("shareQQ", {
                            title: e.title || I,
                            desc: e.desc || "",
                            img_url: e.imgUrl || "",
                            link: e.link || location.href
                        }, e)
                    }
                }, e)
            },
            onMenuShareWeibo: function(e) {
                t(h.onMenuShareWeibo, {
                    complete: function() {
                        i("shareWeiboApp", {
                            title: e.title || I,
                            desc: e.desc || "",
                            img_url: e.imgUrl || "",
                            link: e.link || location.href
                        }, e)
                    }
                }, e)
            },
            onMenuShareQZone: function(e) {
                t(h.onMenuShareQZone, {
                    complete: function() {
                        i("shareQZone", {
                            title: e.title || I,
                            desc: e.desc || "",
                            img_url: e.imgUrl || "",
                            link: e.link || location.href
                        }, e)
                    }
                }, e)
            },
            updateTimelineShareData: function(e) {
                i("updateTimelineShareData", {
                    title: e.title,
                    link: e.link,
                    imgUrl: e.imgUrl
                }, e)
            },
            updateAppMessageShareData: function(e) {
                i("updateAppMessageShareData", {
                    title: e.title,
                    desc: e.desc,
                    link: e.link,
                    imgUrl: e.imgUrl
                }, e)
            },
            startRecord: function(e) {
                i("startRecord", {}, e)
            },
            stopRecord: function(e) {
                i("stopRecord", {}, e)
            },
            onVoiceRecordEnd: function(e) {
                t("onVoiceRecordEnd", e)
            },
            playVoice: function(e) {
                i("playVoice", {
                    localId: e.localId
                }, e)
            },
            pauseVoice: function(e) {
                i("pauseVoice", {
                    localId: e.localId
                }, e)
            },
            stopVoice: function(e) {
                i("stopVoice", {
                    localId: e.localId
                }, e)
            },
            onVoicePlayEnd: function(e) {
                t("onVoicePlayEnd", e)
            },
            uploadVoice: function(e) {
                i("uploadVoice", {
                    localId: e.localId,
                    isShowProgressTips: 0 == e.isShowProgressTips ? 0 : 1
                }, e)
            },
            downloadVoice: function(e) {
                i("downloadVoice", {
                    serverId: e.serverId,
                    isShowProgressTips: 0 == e.isShowProgressTips ? 0 : 1
                }, e)
            },
            translateVoice: function(e) {
                i("translateVoice", {
                    localId: e.localId,
                    isShowProgressTips: 0 == e.isShowProgressTips ? 0 : 1
                }, e)
            },
            chooseImage: function(e) {
                i("chooseImage", {
                    scene: "1|2",
                    count: e.count || 9,
                    sizeType: e.sizeType || ["original", "compressed"],
                    sourceType: e.sourceType || ["album", "camera"]
                }, (e._complete = function(e) {
                    if (M) {
                        var n = e.localIds;
                        try {
                            n && (e.localIds = JSON.parse(n))
                        } catch (e) {}
                    }
                }
                ,
                e))
            },
            getLocation: function(e) {},
            previewImage: function(e) {
                i(h.previewImage, {
                    current: e.current,
                    urls: e.urls
                }, e)
            },
            uploadImage: function(e) {
                i("uploadImage", {
                    localId: e.localId,
                    isShowProgressTips: 0 == e.isShowProgressTips ? 0 : 1
                }, e)
            },
            downloadImage: function(e) {
                i("downloadImage", {
                    serverId: e.serverId,
                    isShowProgressTips: 0 == e.isShowProgressTips ? 0 : 1
                }, e)
            },
            getLocalImgData: function(e) {
                !1 === O ? (O = !0,
                i("getLocalImgData", {
                    localId: e.localId
                }, (e._complete = function(e) {
                    if (O = !1,
                    E.length > 0) {
                        var n = E.shift();
                        wx.getLocalImgData(n)
                    }
                }
                ,
                e))) : E.push(e)
            },
            getNetworkType: function(e) {
                var n = function(e) {
                    var n = e.errMsg;
                    e.errMsg = "getNetworkType:ok";
                    var i = e.subtype;
                    if (delete e.subtype,
                    i)
                        e.networkType = i;
                    else {
                        var t = n.indexOf(":")
                          , o = n.substring(t + 1);
                        switch (o) {
                        case "wifi":
                        case "edge":
                        case "wwan":
                            e.networkType = o;
                            break;
                        default:
                            e.errMsg = "getNetworkType:fail"
                        }
                    }
                    return e
                };
                i("getNetworkType", {}, (e._complete = function(e) {
                    e = n(e)
                }
                ,
                e))
            },
            openLocation: function(e) {
                i("openLocation", {
                    latitude: e.latitude,
                    longitude: e.longitude,
                    name: e.name || "",
                    address: e.address || "",
                    scale: e.scale || 28,
                    infoUrl: e.infoUrl || ""
                }, e)
            },
            getLocation: function(e) {
                e = e || {},
                i(h.getLocation, {
                    type: e.type || "wgs84"
                }, (e._complete = function(e) {
                    delete e.type
                }
                ,
                e))
            },
            hideOptionMenu: function(e) {
                i("hideOptionMenu", {}, e)
            },
            showOptionMenu: function(e) {
                i("showOptionMenu", {}, e)
            },
            closeWindow: function(e) {
                i("closeWindow", {}, e = e || {})
            },
            hideMenuItems: function(e) {
                i("hideMenuItems", {
                    menuList: e.menuList
                }, e)
            },
            showMenuItems: function(e) {
                i("showMenuItems", {
                    menuList: e.menuList
                }, e)
            },
            hideAllNonBaseMenuItem: function(e) {
                i("hideAllNonBaseMenuItem", {}, e)
            },
            showAllNonBaseMenuItem: function(e) {
                i("showAllNonBaseMenuItem", {}, e)
            },
            scanQRCode: function(e) {
                i("scanQRCode", {
                    needResult: (e = e || {}).needResult || 0,
                    scanType: e.scanType || ["qrCode", "barCode"]
                }, (e._complete = function(e) {
                    if (P) {
                        var n = e.resultStr;
                        if (n) {
                            var i = JSON.parse(n);
                            e.resultStr = i && i.scan_code && i.scan_code.scan_result
                        }
                    }
                }
                ,
                e))
            },
            openAddress: function(e) {
                i(h.openAddress, {}, (e._complete = function(e) {
                    e = a(e)
                }
                ,
                e))
            },
            openProductSpecificView: function(e) {
                i(h.openProductSpecificView, {
                    pid: e.productId,
                    view_type: e.viewType || 0,
                    ext_info: e.extInfo
                }, e)
            },
            addCard: function(e) {
                for (var n = e.cardList, t = [], o = 0, r = n.length; o < r; ++o) {
                    var a = n[o]
                      , c = {
                        card_id: a.cardId,
                        card_ext: a.cardExt
                    };
                    t.push(c)
                }
                i(h.addCard, {
                    card_list: t
                }, (e._complete = function(e) {
                    var n = e.card_list;
                    if (n) {
                        for (var i = 0, t = (n = JSON.parse(n)).length; i < t; ++i) {
                            var o = n[i];
                            o.cardId = o.card_id,
                            o.cardExt = o.card_ext,
                            o.isSuccess = !!o.is_succ,
                            delete o.card_id,
                            delete o.card_ext,
                            delete o.is_succ
                        }
                        e.cardList = n,
                        delete e.card_list
                    }
                }
                ,
                e))
            },
            chooseCard: function(e) {
                i("chooseCard", {
                    app_id: C.appId,
                    location_id: e.shopId || "",
                    sign_type: e.signType || "SHA1",
                    card_id: e.cardId || "",
                    card_type: e.cardType || "",
                    card_sign: e.cardSign,
                    time_stamp: e.timestamp + "",
                    nonce_str: e.nonceStr
                }, (e._complete = function(e) {
                    e.cardList = e.choose_card_info,
                    delete e.choose_card_info
                }
                ,
                e))
            },
            openCard: function(e) {
                for (var n = e.cardList, t = [], o = 0, r = n.length; o < r; ++o) {
                    var a = n[o]
                      , c = {
                        card_id: a.cardId,
                        code: a.code
                    };
                    t.push(c)
                }
                i(h.openCard, {
                    card_list: t
                }, e)
            },
            consumeAndShareCard: function(e) {
                i(h.consumeAndShareCard, {
                    consumedCardId: e.cardId,
                    consumedCode: e.code
                }, e)
            },
            chooseWXPay: function(e) {
                i(h.chooseWXPay, r(e), e)
            },
            openEnterpriseRedPacket: function(e) {
                i(h.openEnterpriseRedPacket, r(e), e)
            },
            startSearchBeacons: function(e) {
                i(h.startSearchBeacons, {
                    ticket: e.ticket
                }, e)
            },
            stopSearchBeacons: function(e) {
                i(h.stopSearchBeacons, {}, e)
            },
            onSearchBeacons: function(e) {
                t(h.onSearchBeacons, e)
            },
            openEnterpriseChat: function(e) {
                i("openEnterpriseChat", {
                    useridlist: e.userIds,
                    chatname: e.groupName
                }, e)
            },
            launchMiniProgram: function(e) {
                i("launchMiniProgram", {
                    targetAppId: e.targetAppId,
                    path: g(e.path),
                    envVersion: e.envVersion
                }, e)
            },
            miniProgram: {
                navigateBack: function(e) {
                    e = e || {},
                    f(function() {
                        i("invokeMiniProgramAPI", {
                            name: "navigateBack",
                            arg: {
                                delta: e.delta || 1
                            }
                        }, e)
                    })
                },
                navigateTo: function(e) {
                    f(function() {
                        i("invokeMiniProgramAPI", {
                            name: "navigateTo",
                            arg: {
                                url: e.url
                            }
                        }, e)
                    })
                },
                redirectTo: function(e) {
                    f(function() {
                        i("invokeMiniProgramAPI", {
                            name: "redirectTo",
                            arg: {
                                url: e.url
                            }
                        }, e)
                    })
                },
                switchTab: function(e) {
                    f(function() {
                        i("invokeMiniProgramAPI", {
                            name: "switchTab",
                            arg: {
                                url: e.url
                            }
                        }, e)
                    })
                },
                reLaunch: function(e) {
                    f(function() {
                        i("invokeMiniProgramAPI", {
                            name: "reLaunch",
                            arg: {
                                url: e.url
                            }
                        }, e)
                    })
                },
                postMessage: function(e) {
                    f(function() {
                        i("invokeMiniProgramAPI", {
                            name: "postMessage",
                            arg: e.data || {}
                        }, e)
                    })
                },
                getEnv: function(n) {
                    f(function() {
                        n({
                            miniprogram: "miniprogram" === e.__wxjs_environment
                        })
                    })
                }
            }
        }
          , b = 1
          , R = {};
        return S.addEventListener("error", function(e) {
            if (!M) {
                var n = e.target
                  , i = n.tagName
                  , t = n.src;
                if (("IMG" == i || "VIDEO" == i || "AUDIO" == i || "SOURCE" == i) && -1 != t.indexOf("wxlocalresource://")) {
                    e.preventDefault(),
                    e.stopPropagation();
                    var o = n["wx-id"];
                    if (o || (o = b++,
                    n["wx-id"] = o),
                    R[o])
                        return;
                    R[o] = !0,
                    wx.ready(function() {
                        wx.getLocalImgData({
                            localId: t,
                            success: function(e) {
                                n.src = e.localData
                            }
                        })
                    })
                }
            }
        }, !0),
        S.addEventListener("load", function(e) {
            if (!M) {
                var n = e.target
                  , i = n.tagName;
                n.src;
                if ("IMG" == i || "VIDEO" == i || "AUDIO" == i || "SOURCE" == i) {
                    var t = n["wx-id"];
                    t && (R[t] = !1)
                }
            }
        }, !0),
        n && (e.wx = e.jWeixin = N),
        N
    }
});

var Mall = {};
Mall.LOCK = false;
Mall.host = simpleStorage.get( "host" ) || "http://"+location.hostname;
Mall.parseUrl = function( url ){
	var params = {};
	if( url.indexOf( "?" )>-1 ){
		if( url.indexOf( "&" )==-1 ){
			url = url.split("?")[1];
			params[url.split("=")[0]] = url.split("=")[1];
		}
		else{
			url = url.split("?")[1];
			var urls = url.split("&");
			urls.map( function( k, v ){
				params[k.split("=")[0]] = k.split("=")[1];
			} )
		}
	}
	else{
		return false
	}
	return params
}
if( Mall.parseUrl( window.location.href ).inviteCode && Mall.parseUrl( window.location.href ).inviteCode.length == 6 ){
	simpleStorage.set( "inviteCode", Mall.parseUrl( window.location.href ).inviteCode );
}
Mall.request = function( url, data){
	var token = simpleStorage.get( "token" );
	var config = {
		url: Mall.host+url,
		dataType: "json",
		type: "GET",	
	}
	if( data ){
		config.data = data;
		config.type = "POST";
	}
	if( token ){
		config.headers = {
			'API-TOKEN': token
		}
	}
	return $.ajax( config )
		.always(function( data ){
			if( data.error_code == 20000 ){
				simpleStorage.set("toUrl",window.location.href);
                
			}
            else{
                if( data.error_code != 0 ){
                    $.alert( data.error_msg );
                }
            }
			if( data.data && data.data.list && data.data.list.length == 0 && !data.data.question && data.api_name != "ArticleList" ){
				if( !$( ".empty" ).length ){
					$( ".content" ).append( "<div class='empty' style='background:url(./images/wsj.png) center center no-repeat; top: 0; background-size: 80%; position: absolute; width: 100%; height:100%'><div>" )
				}
			}
			else{
				if( $( ".empty" ).length && data.api_name != "SiteConfig" ){
					$( ".empty" ).remove();
				}
			}
		})
}

var clientWidth;
if(/Android|webOS|iPhone|iPod|BlackBerry/i.test(navigator.userAgent)) {
    clientWidth = document.documentElement.clientWidth;
} else {
    $( ".page" ).css( {"width": "540px", "margin": "0 auto", "overflow": "visible"} );
    $( "body" ).css( {"font-size": "16px", "overflow": "visible" } )
    $( ".page-group" ).css( "overflow", "visible" )
    clientWidth = $( ".page" ).width();
}
Mall.mobile = function( v ){
	return true
}
Mall.email = function( v ){
	if( !v ){
		return null
	}
	else{
		return /^([A-Z0-9]+[_|\_|\.]?)*[A-Z0-9]+@([A-Z0-9]+[_|\_|\.]?)*[A-Z0-9]+\.[A-Z]{2,3}$/i.test(v)
	}
}
Mall.idCard = function( val ){
        if ((/^\d{15}$/).test(val)) {
            return true;
        }
        else if((/^\d{17}[0-9xX]$/).test(val)){
            var vs = "1,0,x,9,8,7,6,5,4,3,2".split(","),
                ps = "7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2".split(","),
                ss = val.toLowerCase().split(""),
                r = 0;
            for (var i = 0; i < 17; i++) {
                r += ps[i] * ss[i];
            }
            return (vs[r % 11] == ss[17]);
        }
}
Mall.checkLogin = function(){
	var token = simpleStorage.get( "token" ),
		expire_time = simpleStorage.get( "expire_time" );
	if( ( !token || new Date().getTime() > expire_time ) && window.location.href.indexOf("/H5/login") == -1 ){
		if( window.location.href.indexOf("/H5/register") == -1 ){
			//window.location.href = "/H5/login?toUrl="+window.location.href;
		}
	}
	Mall.request( "/api/SiteConfig" )
	    .always( function( config ){
	        if( config.error_code == 0 ){
	            simpleStorage.set("open", config.data.site.open);
	            simpleStorage.set("min_money", config.data.draw_money.min_money);
	            simpleStorage.set("fee_percent", config.data.draw_money.fee_percent);
                simpleStorage.set("money_multiple", config.data.draw_money.money_multiple);
                simpleStorage.set("postage", config.data.postage.free_min_money);
                simpleStorage.set("adsImg", config.data.hongbao.ads.img);
                simpleStorage.set("adsLink", config.data.hongbao.ads.link);
                simpleStorage.set("wap_reg_api_open", config.data.wap_reg_api_open);
	            if( avalon.vmodels["custom"] ){
	            	avalon.vmodels["custom"].data = config.data;
	            }
	            if( avalon.vmodels["index"] ){
	            	$( "footer p" ).html( config.data.site.copyright );
	            	avalon.vmodels["index"].data = config.data.site;
	            }
	            if( config.data.site.open == 0 ){
	            	window.location.href = "/H5/updata"
	            }
	        }
	        else{
	            $.alert(config.error_msg)
	        }
	    } )
}
var is_weixin = (function(){return navigator.userAgent.toLowerCase().indexOf('micromessenger') !== -1})();
if( is_weixin ){
    var url = window.location.href;
    if( url.indexOf( "inviteCode=" ) == -1 || url.indexOf("from=") > -1 ){
        if( simpleStorage.get("myInviteCode") ){
            if( url.indexOf( "?" ) > -1 ){
                url = url +"&inviteCode="+simpleStorage.get("myInviteCode");
            }
            else{
                url = url +"?inviteCode="+simpleStorage.get("myInviteCode");
            }
            if( url.indexOf("from=") > -1 ){
                if( url.indexOf("?from=") > -1 ){
                    url = url.split( "?from=" )[0];
                }
                else{
                    url = url.split( "&from=" )[0];
                }
            }
            window.location.href = url;
        }
    }
    else{
    	Mall.request( "/api/WxShare",{ url: url } )
    		.always( function( data ){
    			if( data.error_code == 0 ){
    			    wx.config( data.data );
                    if( window.location.href.indexOf("detail?id=")==-1 ){
                        var url = window.location.href;
                        wx.ready( function(){
                            var root = 'http://'+location.host;
                            wx.onMenuShareTimeline({ 
                                    title: $( "title" ).text(), // 分享标题
                                    link: url, // 分享链接，该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
                                    imgUrl: root+"/logo", // 分享图标
                            }, function(res) { 
                                
                            });
                            wx.onMenuShareAppMessage({ 
                                    title: $( "title" ).text(), // 分享标题
                                    desc: '净度', // 分享描述
                                    link: url, // 分享链接，该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
                                    imgUrl: root+'/logo', // 分享图标
                            }, function(res) { 
                                
                            });
                        });
                    }
    			}
    			else{
    				$.alert( data.error_msg )
    			}
    		} )
    }
}
Mall.checkLogin();